﻿// Set.cpp: 实现文件
//

#include "pch.h"
#include "DataSynApp.h"
#include "afxdialogex.h"
#include "Set.h"


// Set 对话框

IMPLEMENT_DYNAMIC(Set, CDialogEx)

Set::Set(CWnd* pParent /*=nullptr*/)
	: CDialogEx(IDD_DIALOG1, pParent)
{

}

Set::~Set()
{
}

void Set::DoDataExchange(CDataExchange* pDX)
{
	CDialogEx::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_TAB1, m_tabCtrl);
}


BEGIN_MESSAGE_MAP(Set, CDialogEx)
	ON_NOTIFY(TCN_SELCHANGE, IDC_TAB1, &Set::OnTcnSelchangeTab1)
    ON_WM_MOVE()
END_MESSAGE_MAP()


// Set 消息处理程序


void Set::OnTcnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
    // 获取当前选中的选项卡索引
    int selectedIndex = m_tabCtrl.GetCurSel();

    // 根据选项卡索引切换页面
    switch (selectedIndex)
    {
    case 0:
        m_tabPage1.ShowWindow(SW_SHOW);
        m_tabPage2.ShowWindow(SW_HIDE);
        break;
    case 1:
        m_tabPage1.ShowWindow(SW_HIDE);
        m_tabPage2.ShowWindow(SW_SHOW);
        break;
    case 2:
        m_tabPage1.ShowWindow(SW_HIDE);
        m_tabPage2.ShowWindow(SW_HIDE);
        m_tabpage3.ShowWindow(SW_SHOW);
        break;
    }

    *pResult = 0;
}


BOOL Set::OnInitDialog()
{
	CDialogEx::OnInitDialog();
    // 关联选项卡控件
    //m_tabCtrl.SubclassDlgItem(IDC_TAB1, this);

    // 添加选项卡页
    TCITEM tabItem;
    tabItem.mask = TCIF_TEXT;

    tabItem.pszText = _T("传输模式");
    m_tabCtrl.InsertItem(0, &tabItem);
    m_tabPage1.Create(IDD_TABPAGE1, GetDlgItem(IDC_TAB1));  // 创建第一个对话框
    m_tabPage1.ShowWindow(SW_SHOW);

    tabItem.pszText = _T("传输时间");
    m_tabCtrl.InsertItem(1, &tabItem);
    m_tabPage2.Create(IDD_TABPAGE2, GetDlgItem(IDC_TAB1));
    m_tabPage2.ShowWindow(SW_HIDE);

    tabItem.pszText = _T("数字化传输");
    m_tabCtrl.InsertItem(2, &tabItem);
    m_tabpage3.Create(IDD_TABPAGE3, GetDlgItem(IDC_TAB1));
    m_tabpage3.ShowWindow(SW_HIDE);

	return TRUE;  // return TRUE unless you set the focus to a control
	// 异常: OCX 属性页应返回 FALSE
}


void Set::OnMove(int x, int y)
{
    if (m_tabPage1)
    {
        //CRect rc;
        //m_tabCtrl.GetClientRect(&rc);
        //ClientToScreen(rc);
        //rc.top += 35;  // 确保子对话框在选项卡页的下方
        //rc.bottom += 0;
        //rc.left += 20;
        //rc.right -= 10;

        //m_tabPage1.MoveWindow(&rc);
        //m_tabPage2.MoveWindow(&rc);

            CRect rc;
    m_tabCtrl.GetClientRect(&rc);
    ClientToScreen(rc);
    rc.top += 35;
    rc.left += 20;

    CRect rc2;
    m_tabPage1.GetClientRect(&rc2);
    rc2.top += rc.top;
    rc2.left += rc.left;
    rc2.right += rc.left;
    rc2.bottom += rc.top;

    m_tabPage2.MoveWindow(&rc2);
    m_tabPage1.MoveWindow(&rc2);
    m_tabpage3.MoveWindow(&rc2);
    }


    CDialogEx::OnMove(x, y);
    // TODO: 在此处添加消息处理程序代码
}
